\select@language {english}
\contentsline {chapter}{Contents}{ii}{section*.2}
\contentsline {chapter}{\numberline {1}The Design}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Overview of the design}{1}{section.1.1}
\contentsline {section}{\numberline {1.2}Preprocessing steps}{4}{section.1.2}
\contentsline {section}{\numberline {1.3}Alignment}{5}{section.1.3}
\contentsline {subsection}{\numberline {1.3.1}The problem}{5}{subsection.1.3.1}
\contentsline {subsection}{\numberline {1.3.2}The solution}{5}{subsection.1.3.2}
\contentsline {section}{\numberline {1.4}The point cloud}{6}{section.1.4}
\contentsline {section}{\numberline {1.5}Combination step}{6}{section.1.5}
\contentsline {section}{\numberline {1.6}Mesh}{8}{section.1.6}
\contentsline {section}{\numberline {1.7}RepRap}{8}{section.1.7}
\contentsline {section}{\numberline {1.8}Accessing our code, replicating the results}{9}{section.1.8}
\contentsline {chapter}{\numberline {2}Justifications}{10}{chapter.2}
\contentsline {section}{\numberline {2.1}Using Python as the programming language}{10}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}Expressiveness}{10}{subsection.2.1.1}
\contentsline {subsection}{\numberline {2.1.2}Interactivity}{10}{subsection.2.1.2}
\contentsline {subsection}{\numberline {2.1.3}Numerical Package}{11}{subsection.2.1.3}
\contentsline {subsection}{\numberline {2.1.4}Extensibility to GPU}{11}{subsection.2.1.4}
\contentsline {subsection}{\numberline {2.1.5}Familiarity, OpenSource and availability of support}{11}{subsection.2.1.5}
\contentsline {section}{\numberline {2.2}Using OpenKinect as driver}{11}{section.2.2}
\contentsline {section}{\numberline {2.3}Meshing}{12}{section.2.3}
\contentsline {section}{\numberline {2.4}Using the PLY file format}{13}{section.2.4}
\contentsline {section}{\numberline {2.5}Combination Method}{14}{section.2.5}
\contentsline {chapter}{\numberline {3}Assessments}{15}{chapter.3}
\contentsline {section}{\numberline {3.1}Assessment against requirements}{15}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}The software must be compatible with any Kinect device}{15}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}Produce a 360 degrees 3D model}{15}{subsection.3.1.2}
\contentsline {subsection}{\numberline {3.1.3}Display only the scanning object}{16}{subsection.3.1.3}
\contentsline {subsection}{\numberline {3.1.4}Output to standard 3D format}{16}{subsection.3.1.4}
\contentsline {section}{\numberline {3.2}Assessment against Criteria}{16}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Technical Criteria}{16}{subsection.3.2.1}
\contentsline {subsubsection}{\numberline {3.2.1.1}Filter input noise}{16}{subsubsection.3.2.1.1}
\contentsline {subsubsection}{\numberline {3.2.1.2}Adhere to software design pattern}{17}{subsubsection.3.2.1.2}
\contentsline {subsubsection}{\numberline {3.2.1.3}The output format to be supported by other existing applications}{17}{subsubsection.3.2.1.3}
\contentsline {subsubsection}{\numberline {3.2.1.4}Relative accuracy}{17}{subsubsection.3.2.1.4}
\contentsline {subsubsection}{\numberline {3.2.1.5}Handle complex objects}{17}{subsubsection.3.2.1.5}
\contentsline {subsubsection}{\numberline {3.2.1.6}Scan range}{18}{subsubsection.3.2.1.6}
\contentsline {subsection}{\numberline {3.2.2}Application Criteria}{18}{subsection.3.2.2}
\contentsline {subsubsection}{\numberline {3.2.2.1}3D printing}{18}{subsubsection.3.2.2.1}
\contentsline {subsubsection}{\numberline {3.2.2.2}3D Animation}{18}{subsubsection.3.2.2.2}
\contentsline {subsubsection}{\numberline {3.2.2.3}3D live stream}{18}{subsubsection.3.2.2.3}
\contentsline {subsection}{\numberline {3.2.3}Economic Criteria}{19}{subsection.3.2.3}
\contentsline {chapter}{\numberline {A}Combination Algorithm}{20}{appendix.A}
\contentsline {section}{\numberline {A.1}Introduction}{20}{section.A.1}
\contentsline {subsection}{\numberline {A.1.1}The problem}{20}{subsection.A.1.1}
\contentsline {subsection}{\numberline {A.1.2}The Methods}{23}{subsection.A.1.2}
\contentsline {section}{\numberline {A.2}A probabilistic formulation}{23}{section.A.2}
\contentsline {subsection}{\numberline {A.2.1}Basic formulation}{23}{subsection.A.2.1}
\contentsline {subsection}{\numberline {A.2.2}Our additions to EM}{24}{subsection.A.2.2}
\contentsline {section}{\numberline {A.3}The EM approach}{24}{section.A.3}
\contentsline {section}{\numberline {A.4}Some experiments}{25}{section.A.4}
\contentsline {subsection}{\numberline {A.4.1}A 2D experiment first}{25}{subsection.A.4.1}
\contentsline {subsection}{\numberline {A.4.2}3D reconstruction}{28}{subsection.A.4.2}
\contentsline {section}{\numberline {A.5}The Bayesian approach}{28}{section.A.5}
\contentsline {subsection}{\numberline {A.5.1}The model}{29}{subsection.A.5.1}
\contentsline {subsection}{\numberline {A.5.2}The updates}{30}{subsection.A.5.2}
\contentsline {chapter}{\numberline {B}Comparison between different meshing softwares}{32}{appendix.B}
\contentsline {section}{\numberline {B.1}CloudMesh-0.1x}{32}{section.B.1}
\contentsline {section}{\numberline {B.2}VRMesh v6.0 Studio}{32}{section.B.2}
\contentsline {section}{\numberline {B.3}Meshlab v1.3.0}{33}{section.B.3}
\contentsline {chapter}{\numberline {C}Alignment Methods}{35}{appendix.C}
\contentsline {section}{\numberline {C.1}Depth coordinates to world coordinates}{35}{section.C.1}
\contentsline {section}{\numberline {C.2}Color and Depth Mapping}{36}{section.C.2}
\contentsline {chapter}{References}{39}{section*.4}
